package Vista;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Vector;

import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;

import Controlador.Sistema;
import Controlador.Utils;
import Negocio.ItemMineralView;
import Negocio.LoteSimpleView;
import Negocio.MineralView;
import Negocio.PropietarioView;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class ModificarLoteSimple extends javax.swing.JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JLabel labelAreaSiembra;
	private JTextField fieldAreaSiembra;
	private JButton botonGuardar;
	private JLabel labelMineralSelect;
	private JButton botonAgregar;
	private JLabel labelPorcentajeMineral;
	private JTextField fieldPorcentajeMineral;
	private JComboBox mineral;
	private JComboBox propiet;
	private JButton botonCancelar;
	private Collection <ItemMineralView> itemsMineralV;
	private JTextField fieldCodigo;
	private JLabel jLabel2;
	private JLabel jLabel1;
	private JLabel propie;
	private JCheckBox minPrin;
	private Vector <MineralView> mine;
	private Vector <PropietarioView> prop;
	private ItemMineralView minPrincipal;
	private JButton botonBuscar; 
	private LoteSimpleView ls;

	/**
	* Auto-generated main method to display this JFrame
	*/
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				ModificarLoteSimple inst = new ModificarLoteSimple();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
			}
		});
	}
	
	public ModificarLoteSimple() {
		super();
		initGUI();
		
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setLayout(null);
			this.setTitle("Alta Cereal Lote Simple");
			{
				labelAreaSiembra = new JLabel();
				getContentPane().add(labelAreaSiembra);
				labelAreaSiembra.setText("Area de Siembra:");
				labelAreaSiembra.setBounds(30, 62, 92, 14);
			}
			{
				fieldAreaSiembra = new JTextField();
				getContentPane().add(fieldAreaSiembra);
				fieldAreaSiembra.setBounds(129, 59, 139, 21);
				fieldAreaSiembra.setEnabled(false);			}
			{
				labelMineralSelect = new JLabel();
				getContentPane().add(labelMineralSelect);
				labelMineralSelect.setText("Mineral:");
				labelMineralSelect.setBounds(30, 142, 64, 14);
			}
			{
				mine = new Vector <MineralView>();
				mine = Sistema.getInstancia().buscarminerales();
				//Armar texto
				Vector<String> nombres = new Vector<String>();
				nombres.add("  ");
				for (int i=0;i<mine.size();i++)
				{
					nombres.add(mine.elementAt(i).getNombre());
				}
				
				ComboBoxModel MineralesModel = new DefaultComboBoxModel(nombres);
				mineral = new JComboBox();
				getContentPane().add(mineral);
				mineral.setModel(MineralesModel);
				mineral.setBounds(92, 139, 112, 21);
				mineral.setEnabled(false);
			}
			{
				fieldPorcentajeMineral = new JTextField();
				getContentPane().add(fieldPorcentajeMineral);
				fieldPorcentajeMineral.setBounds(310, 139, 31, 21);
				fieldPorcentajeMineral.setEnabled(false);
			}
			{
				labelPorcentajeMineral = new JLabel();
				getContentPane().add(labelPorcentajeMineral);
				labelPorcentajeMineral.setText("Porcentaje");
				labelPorcentajeMineral.setBounds(235, 142, 69, 14);
			}
			{
				botonAgregar = new JButton();
				getContentPane().add(botonAgregar);
				botonAgregar.setText("Agregar");
				botonAgregar.setBounds(215, 177, 81, 21);
				botonAgregar.setEnabled(false);
				botonAgregar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						System.out.println("jButton1.actionPerformed, event="+evt);
						itemsMineralV= new ArrayList <ItemMineralView>();
						int indice = mineral.getSelectedIndex()-1;
						MineralView mv = mine.elementAt(indice);
						Double porcentaje = Double.parseDouble(fieldPorcentajeMineral.getText());
						ItemMineralView itemMV = null;
						if(minPrin.isSelected()){
							minPrincipal = new ItemMineralView(Utils.CONSTANTE_LONG_SIN_USO,  String.valueOf(mv.getCodigo()),porcentaje,Long.parseLong(fieldCodigo.getText()), Utils.CONSTANTE_PRIMARIO );
							minPrin.setSelected(false);
							minPrin.setEnabled(false);
							
							
						}
						else{
							itemMV = new ItemMineralView(Utils.CONSTANTE_LONG_SIN_USO,  String.valueOf(mv.getCodigo()),porcentaje,Long.parseLong(fieldCodigo.getText()), Utils.CONSTANTE_COMPLEMENTO );
							itemsMineralV.add(itemMV);
						}
					}
				});
				
			}
			{
				botonGuardar = new JButton();
				getContentPane().add(botonGuardar);
				botonGuardar.setText("Guardar");
				botonGuardar.setBounds(90, 224, 75, 21);
				botonGuardar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						System.out.println("Guardar.actionPerformed, event="+evt);
						
						Double areaSiembra = Double.parseDouble(fieldAreaSiembra.getText());
						int indice = propiet.getSelectedIndex()-1;
						PropietarioView p = prop.elementAt(indice);
						Sistema.getInstancia().ModificarLoteSimple(Long.parseLong(fieldCodigo.getText()), minPrincipal, itemsMineralV, areaSiembra, p.getDni());
						dispose();
							
					}
				});
			}
			{
				botonCancelar = new JButton();
				getContentPane().add(botonCancelar);
				botonCancelar.setText("Cancelar");
				botonCancelar.setBounds(216, 224, 75, 21);
				botonCancelar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						System.out.println("botonCancelar.actionPerformed, event="+evt);
						dispose();
					}
				});
			}
			{
				botonBuscar = new JButton();
				getContentPane().add(botonBuscar);
				botonBuscar.setText("Buscar");
				botonBuscar.setBounds(278, 19, 90, 23);
				botonBuscar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						System.out.println("botonBuscar.actionPerformed, event="+evt);
						long cod = Long.parseLong(fieldCodigo.getText());
						ls = Sistema.getInstancia().buscarLoteSimple(cod);
						if (ls != null)
						{
							fieldAreaSiembra.setText(Double.toString(ls.getAreaSiembra()));
							fieldCodigo.setEnabled(false);
							botonBuscar.setEnabled(false);
							fieldAreaSiembra.setEnabled(true);
							propiet.setEnabled(true);
							mineral.setEnabled(true);
							fieldPorcentajeMineral.setEnabled(true);
							minPrin.setEnabled(true);
							botonAgregar.setEnabled(true);
							

						}
						else
						{
							System.out.println("NO EXISTE EL LOTE");
						}
					}
				});
			}
			{
				minPrin = new JCheckBox();
				getContentPane().add(minPrin);
				minPrin.setText("Mineral Principal");
				minPrin.setBounds(78, 177, 107, 20);
				minPrin.setEnabled(false);
			}
			{
				propie = new JLabel();
				getContentPane().add(propie);
				propie.setText("Propiertario:");
				propie.setBounds(58, 103, 89, 14);
			}
			{
				
				prop = new Vector <PropietarioView>();
				prop = Sistema.getInstancia().buscarPropietarios();
				//Armar texto
				Vector<String> nombres = new Vector<String>();
				nombres.add("  ");
				for (int i=0;i<prop.size();i++)
				{
					nombres.add(prop.elementAt(i).getNombre());
				}
				ComboBoxModel MineralesModel = new DefaultComboBoxModel(nombres);
				propiet = new JComboBox();
				getContentPane().add(propiet);
				propiet.setModel(MineralesModel);
				propiet.setBounds(170, 100, 112, 21);
				propiet.setEnabled(false);
						
				
			}
			{
				jLabel1 = new JLabel();
				getContentPane().add(jLabel1);
				jLabel1.setText("Area de Siembra:");
				jLabel1.setBounds(30, 62, 92, 14);
			}
			{
				jLabel2 = new JLabel();
				getContentPane().add(jLabel2);
				jLabel2.setText("Nro Lote:");
				jLabel2.setBounds(30, 23, 92, 14);
			}
			{
				fieldCodigo = new JTextField();
				getContentPane().add(fieldCodigo);
				fieldCodigo.setBounds(127, 20, 139, 21);
			}
			pack();
			this.setSize(402, 306);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
